oxenstored: only process domain connections that notify us by events
authorZheng Li <dev@zheng.li>
Thu, 25 Sep 2014 17:35:00 +0000 (18:35 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 8 Oct 2014 13:18:46 +0000 (14:18 +0100)
commit923611a13d835c097839f14a18326ff353e9adf8
treee4072b1a7aad50638aad9bc3503169bc7352eee8
parentec609f3254dd88f1a208758dd42245ee3f9bc34e
oxenstored: only process domain connections that notify us by events

Currently, upon receiving an event, oxenstored will always scan/process all
the domain connections (xs rings), disregarding which domain sent that event.
This is rather costy and inefficient. It also shadows and indulges client
for not correctly communicating with us on message/space availability.

With this patch, oxenstore will only scan/process the domain connections
that have correctly notified us by events or have IO actions leftover from
previous communication.

Signed-off-by: Zheng Li <dev@zheng.li>
Reviewed-by: David Scott <dave.scott@citrix.com>
tools/ocaml/xenstored/connection.ml
tools/ocaml/xenstored/connections.ml
tools/ocaml/xenstored/xenstored.ml